<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- linux.qdoc -->
  <title>Qt for X11 Requirements | Qt 5.14</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="index.html">Qt 5.14</a></td><td >Qt for X11 Requirements</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right">Qt 5.14.2 Reference Documentation</td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
<div class="sidebar">
<div class="toc">
<h3><a name="toc">Contents</a></h3>
<ul>
<li class="level1"><a href="#platform-plugin-dependencies">Platform Plugin Dependencies</a></li>
<li class="level1"><a href="#opengl-dependencies">OpenGL Dependencies</a></li>
<li class="level1"><a href="#multimedia-dependencies">Multimedia Dependencies</a></li>
<li class="level1"><a href="#qt-webengine-dependencies">Qt WebEngine Dependencies</a></li>
<li class="level1"><a href="#qdoc-dependencies">QDoc Dependencies</a></li>
</ul>
</div>
<div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Qt for X11 Requirements</h1>
<span class="subtitle"></span>
<!-- $$$linux-requirements.html-description -->
<div class="descr"> <a name="details"></a>
<a name="platform-plugin-dependencies"></a>
<h2 id="platform-plugin-dependencies">Platform Plugin Dependencies</h2>
<p>On Linux, the <i>xcb</i> QPA (Qt Platform Abstraction) platform plugin is used. It provides the basic functionality needed by <a href="../qtgui/qtgui-index.html">Qt GUI</a> and <a href="../qtwidgets/qtwidgets-index.html">Qt Widgets</a> to run against X11. Its library dependencies are described the following table. To build Qt from its source code, you will also need to install the development packages for these libraries for your system.</p>
<p>It's possible to configure Qt with -qt-xcb, which compiles in a set of xcb helper libraries instead of trying to link against the system versions. This can help make Qt less dependent on some of the xcb helper libraries that might not be available on all distributions. The table specifies which dependencies are provided by -qt-xcb.</p>
<div class="table"><table class="generic" width="100%">
 <thead><tr class="qt-style"><th >Name</th><th >Library</th><th >Notes</th><th >Configuration options</th><th >Minimum working version</th></tr></thead>
<tr id="OptionalColor"><td >XRender</td><td >libXrender</td><td >X Rendering Extension; used for anti-aliasing and alpha cursor support</td><td ><code>-xrender</code> or auto-detected</td><td >0.9&#x2e;0</td></tr>
<tr id="OptionalColor"><td >xcb-render</td><td >libxcb-render</td><td >X C Bindings for Render extension</td><td >auto-detected or provided by -qt-xcb</td><td >1.9</td></tr>
<tr id="OptionalColor"><td >xcb-render-util</td><td >libxcb-render-util</td><td >Utility library for XCB for Render extension</td><td >auto-detected or provided by -qt-xcb</td><td >0.3&#x2e;8</td></tr>
<tr id="OptionalColor"><td >xcb-shape</td><td >libxcb-shape</td><td >X C Bindings for Shape extension</td><td >auto-detected or provided by -qt-xcb</td><td >1.9</td></tr>
<tr id="DefaultColor"><td >xcb-randr</td><td >libxcb-randr</td><td >X C Bindings for Resize and Rotate Extension</td><td >auto-detected or provided by -qt-xcb</td><td >1.9</td></tr>
<tr id="DefaultColor"><td >xcb-xfixes</td><td >libxcb-xfixes</td><td >X C Bindings for Fixes Extension</td><td >auto-detected or provided by -qt-xcb</td><td >1.9</td></tr>
<tr id="DefaultColor"><td >xcb-sync</td><td >libxcb-sync</td><td >X C Bindings for Sync Extension</td><td >auto-detected or provided by -qt-xcb</td><td >1.9</td></tr>
<tr id="DefaultColor"><td >xcb-shm</td><td >libxcb-shm</td><td >X C Bindings for Shared Memory Extension</td><td >auto-detected or provided by -qt-xcb</td><td >1.9</td></tr>
<tr id="DefaultColor"><td >xcb-icccm</td><td >libxcb-icccm</td><td >X C Bindings for ICCCM Protocol</td><td >auto-detected or provided by -qt-xcb</td><td >0.3&#x2e;9</td></tr>
<tr id="DefaultColor"><td >xcb-keysyms</td><td >libxcb-keysyms</td><td >Utility library for XCB for keycode conversion</td><td >auto-detected or provided by -qt-xcb</td><td >0.3&#x2e;9</td></tr>
<tr id="DefaultColor"><td >xcb-image</td><td >libxcb-image</td><td >Utility library for XCB for XImage and XShmImage, used for <a href="../qtgui/qbackingstore.html">QBackingStore</a> and cursor support</td><td >auto-detected or provided by -qt-xcb</td><td >0.3&#x2e;9</td></tr>
<tr id="OptionalColor"><td >xkbcommon</td><td >libxkbcommon</td><td >Keymap handling</td><td ><code>-xkbcommon</code> or auto-detected</td><td >0.5&#x2e;0</td></tr>
<tr id="OptionalColor"><td >xkbcommon-x11</td><td >libxkbcommon-x11</td><td >Keymap handling</td><td >auto-detected</td><td >0.5&#x2e;0</td></tr>
<tr id="OptionalColor"><td >Fontconfig</td><td >libfontconfig</td><td >Font customization and configuration</td><td ><code>-fontconfig</code> or auto-detected</td><td >2.6</td></tr>
<tr id="OptionalColor"><td ><a href="qt-embedded-fonts.html#freetype">FreeType</a></td><td >libfreetype</td><td >Font engine</td><td ></td><td >2.3&#x2e;0</td></tr>
<tr id="DefaultColor"><td >Xi</td><td >libXi</td><td >X11 Input Extensions</td><td ><code>-xinput</code> or auto-detected</td><td >1.3&#x2e;0</td></tr>
<tr id="DefaultColor"><td >Xext</td><td >libXext</td><td >X Extensions</td><td ></td><td >6.4&#x2e;3</td></tr>
<tr id="DefaultColor"><td >X11</td><td >libX11</td><td >X11 client-side library</td><td ></td><td >6.2&#x2e;1</td></tr>
<tr id="DefaultColor"><td >xcb</td><td >libxcb</td><td >X C Binding library</td><td ></td><td >1.9</td></tr>
<tr id="DefaultColor"><td >X11-xcb</td><td >libX11-xcb</td><td >Xlib/XCB interface library</td><td ></td><td >1.3&#x2e;2</td></tr>
<tr id="SMColor"><td >SM</td><td >libSM</td><td >X Session Management</td><td ><code>-sm</code> or auto-detected</td><td >6.0&#x2e;4</td></tr>
<tr id="SMColor"><td >ICE</td><td >libICE</td><td >Inter-Client Exchange</td><td ><code>-sm</code> or auto-detected</td><td >6.3&#x2e;5</td></tr>
<tr id="GlibColor"><td >glib</td><td >libglib-2.0</td><td >Common event loop handling</td><td ><code>-glib</code> or auto-detected</td><td >2.8&#x2e;3</td></tr>
<tr id="PthreadColor"><td >pthread</td><td >libpthread</td><td >Multithreading</td><td ></td><td >2.3&#x2e;5</td></tr>
</table></div>
<p>Development packages for these libraries contain header files that are used when building Qt from its source code. On Debian-based GNU/Linux systems, for example, we recommend that you install the following development packages:</p>
<ul>
<li>libfontconfig1-dev</li>
<li>libfreetype6-dev</li>
<li>libx11-dev</li>
<li>libxext-dev</li>
<li>libxfixes-dev</li>
<li>libxi-dev</li>
<li>libxrender-dev</li>
<li>libxcb1-dev</li>
<li>libx11-xcb-dev</li>
<li>libxcb-glx0-dev</li>
<li>libxkbcommon-x11-dev</li>
</ul>
<p>Additionally, if you do not configure with -qt-xcb, you should also install these development packages:</p>
<ul>
<li>libxcb-keysyms1-dev</li>
<li>libxcb-image0-dev</li>
<li>libxcb-shm0-dev</li>
<li>libxcb-icccm4-dev</li>
<li>libxcb-sync0-dev</li>
<li>libxcb-xfixes0-dev</li>
<li>libxcb-shape0-dev</li>
<li>libxcb-randr0-dev</li>
<li>libxcb-render-util0-dev</li>
</ul>
<p>Some of these packages depend on others in this list, so installing one may cause others to be automatically installed. Other distributions may provide system packages with similar names.</p>
<a name="opengl-dependencies"></a>
<h2 id="opengl-dependencies">OpenGL Dependencies</h2>
<p>Configure attempts to automatically detect OpenGL ES 2.0, or later, or regular desktop OpenGL. You can disable OpenGL support by using the <code>-no-opengl</code> option.</p>
<p><b>Note: </b>The Qt OpenGL module (which contains classes that start with <i>QGL</i>) has been deprecated in favor of the <a href="../qtgui/qtgui-index.html">Qt GUI</a> module (which contains classes that start with <i>QOpenGL</i>).</p><a name="multimedia-dependencies"></a>
<h2 id="multimedia-dependencies">Multimedia Dependencies</h2>
<p>As described in the <a href="qt5-intro.html#multimedia">Multimedia</a> overview, Qt Multimedia uses the GStreamer multimedia framework as the backend for audio and video playback on Linux. The minimum required version of GStreamer is 0.10.24. The 1.x series is also supported.</p>
<p>To build Qt Multimedia, you need the GStreamer library, base plugins, and development files for your system. To run applications that use Qt Multimedia, you might also need to install the following GStreamer plugins: 'good', 'ugly', 'bad', ffmpeg (0.10), and libav (1.x). These additional plugins contain various codecs for audio and video decoding, as well as the necessary components for using the camera APIs. The package names for GStreamer vary between Linux distributions; try searching for <code>gstreamer</code> or <code>libgstreamer</code> in your distribution's package repository to find suitable packages.</p>
<a name="qt-webengine-dependencies"></a>
<h2 id="qt-webengine-dependencies">Qt WebEngine Dependencies</h2>
<p><a href="../qtwebengine/qtwebengine-index.html">Qt WebEngine</a> has additional build requirements which are listed in the <a href="../qtwebengine/qtwebengine-platform-notes.html">Qt WebEngine Platform Notes</a>.</p>
<a name="qdoc-dependencies"></a>
<h2 id="qdoc-dependencies">QDoc Dependencies</h2>
<p>Since version 5.11, <a href="../qdoc/qdoc-index.html">QDoc</a> uses Clang to parse C++ code. If you wish to build <a href="qdoc-module.html">QDoc</a> manually, refer to <a href="../qdoc/qdoc-guide-clang.html">Installing Clang for QDoc</a> for specific build requirements.</p>
</div>
<!-- @@@linux-requirements.html -->
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2020 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br/>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br/>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
